package com.ermao.mymes.cron.xxl.config;

import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author Ermao
 * Date: 2022/5/16 14:29
 */
@Slf4j
@Configuration
public class XxlJobConfig {
	@Value("${xxl.job.admin.addresses}")
	private String adminAddresses;
	@Value("${xxl.job.executor.appname}")
	private String appName;
	@Value("${xxl.job.executor.ip}")
	private String ip;
	@Value("${xxl.job.executor.port}")
	private int port;
	@Value("${xxl.job.accessToken}")
	private String accessToken;
	@Value("${xxl.job.executor.logpath}")
	private String logPath;
	@Value("${xxl.job.executor.logretentiondays}")
	private int logRetentionDays;

	@Bean
	public XxlJobSpringExecutor xxlJobExecutor() {
		// 创建 XxlJobSpringExecutor 执行器
		XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
		xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
		xxlJobSpringExecutor.setAppname(appName);
		xxlJobSpringExecutor.setIp(ip);
		xxlJobSpringExecutor.setPort(port);
		xxlJobSpringExecutor.setAccessToken(accessToken);
		xxlJobSpringExecutor.setLogPath(logPath);
		xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);
		// 返回
		return xxlJobSpringExecutor;
	}
}
